const express = require('express');
const app = express();
app.listen(3000, () => { console.log('服务器已开启') });
const fs = require('fs');
const session = require('cookie-session');
const path = require('path');


// 开启cookie功能
app.use(session({
    keys: ['keys']
}));

//post接惨
app.use(express.urlencoded({ extended: false }));
app.use(express.json());


//渲染登录
app.get('/login', (req, res) => {
    res.sendFile(path.join(__dirname, 'login.html'));
})

//拿到后台的数据
let data = path.join(__dirname, 'persons.json');//json文的路径
let obj = fs.readFileSync(data, 'utf-8');//读取json文件
obj = JSON.parse(obj)//转json对象

//响应前端请求
app.post('/login', (req, res) => {
    //拿到用户的数据
    let user = req.body;
    console.log(user);

    // 判断后台数据是否等等于用户输入的数据
    let s = obj.find(item => item.username == user.username && item.password == user.password);
    console.log(s);

    if (s) {
        //如果登录成功，存储用户的数据
        req.session.username = user.username;
        res.send('登录成功');
    } else {
        res.send('用户名密码错误')
    }
    // console.log(user);
})

// 响应请求头携带的cookie中是否存在该用户名，如果有证明是登录状态，如果没有跳转到登录页面
app.get('/index', (req, res) => {
    //如果能取到用户，跳转到首页，否则跳转登录
    console.log(req.session.username);
    if (req.session.username) {
        //跳转到首页
        res.sendFile(path.join(__dirname, 'index.html'))
    } else {
        res.sendFile(path.join(__dirname, 'login.html'))
    }
})